﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using app_inventario.LogicaNegocio;

namespace app_inventario.Presentacion
{
    /// <summary>
    /// Lógica de interacción para actualizar.xaml
    /// </summary>
    public partial class actualizar : Window
    {
        public actualizar()
        {
            InitializeComponent();
        }

        private void btn_Buscar_Click(object sender, RoutedEventArgs e)
        {
            if (txt_Buscador.Text == "")
            {
                MessageBox.Show("Ingrese un nombre de producto", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                var producto = admProducto.buscaProducto(txt_Buscador.Text);
                if (producto != null)
                {
                    txt_Producto.Text = producto.Nombre;
                    txt_Categoria.Text = producto.Categoria.Descripcion;
                    txt_Marca.Text = producto.Marca.Descripcion;
                    txt_Precio.Text = Convert.ToString(producto.Precio);
                    txt_Cantidad.Text = Convert.ToString(producto.Cantidad);
                }
                else
                {
                    MessageBox.Show("El producto no se encuentra en la base de datos", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                }
            }
        }

        private void btn_Actualizar_Click(object sender, RoutedEventArgs e)
        {
            if (txt_Precio.Text == "" || txt_Precio.Text == "" || txt_Cantidad.Text == "")
            {
                MessageBox.Show("Ingrese los datos a actualiza", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Warning);

            }
            else
            {
                string mensaje = admProducto.actualizaProducto(txt_Producto.Text, Convert.ToInt32(txt_Precio.Text), Convert.ToInt32(txt_Cantidad.Text));
                MessageBox.Show(mensaje, "Mensaje", MessageBoxButton.OK, MessageBoxImage.Information);
                Limpiar();
            }
        }

        private void Limpiar()
        {
            txt_Producto.Clear();
            txt_Categoria.Clear();
            txt_Marca.Clear();
            txt_Precio.Clear();
            txt_Cantidad.Clear();
        }

        private void txt_Precio_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key >= Key.D0 && e.Key <= Key.D9 || e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9)
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
                
        }

        private void txt_Cantidad_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key >= Key.D0 && e.Key <= Key.D9 || e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9)
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }
    }
}
